Codejock Xtreme Toolkit 使用例子 |
您所在的位置:网站首页 › xtreme tweaking什么用 › Codejock Xtreme Toolkit 使用例子 |
以Custom Control为例: 一、 使用前的准备 1 新建一个基于对话框的MFC程序ReportControlTest。 2 添加对XT Toolkit Pro 的引用。 添加对头文件“XTToolkitPro.h”的引用。假设Xtreme ToolkitPro的目录下的源文件夹的路径为“D:\Software\Software Development\vs6.0\Xtreme ToolkitPro v11.2.2-src\Source”,该目录下包含有文件“XTToolkitPro.h”和其他的一些源文件,然后右键单击工程ReportControlTest弹出右键菜单,选择Settings->c/c++->Catrgory:Preprocessor->Additional include directories: “D:\Software\Software Development\vs6.0\Xtreme ToolkitPro v11.2.2-src\Source”。 然后在StdAfx.h文件中添加对文件“XTToolkitPro.h”的引用,如: #include // Codejock Software Components 在XTToolkitPro.h中包含了其他所有的.h头文件的调用,如 #if defined(_XTP_INCLUDE_DEPRECATED) #include "Common/XTPDeprecated.h" #endif #if !defined(_XTP_EXCLUDE_COMMON) #include "Common/Includes.h" // _XTP_INCLUDE_COMMON #endif。 3 添加对.lib文件的调用 假设在debug 下需要ToolkitPro1122vc60D.lib 文件在“D:\Software\Software Development\vs6.0\Xtreme ToolkitPro v11.2.2-src\lib\vc60” 下,那么给工程添加lib路径: Settings->Link-> Additional library path directories: “D:\Software\Software Development\vs6.0\Xtreme ToolkitPro v11.2.2-src\ lib\vc60”,在XTToolkitPro.h文件中添加了对该Lib文件的调用。 4 将ToolkitPro1122vc60D.dll拷到当前exe文件目下下,如debug文件夹下。 5 运行程序,如果出现编译错误:atal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit,这是因为内存不够。/Zm指定预编译头的内存分配限制,可以修改内存分配。 Settings->c/c++->project options: 在最后有/c,在/c前添加一个/Zm200,200指定分配内存是100M。 6. 在窗体IDD_REPORTCONTROLTEST_DIALOG上添加一个 Custom Control
设置其属性如下: ID: IDC_REPORTCTRL
7. 在源文件中将控件IDC_REPORTCTRL与实际的ReportControl 绑定。注意,由于在ClassWizard中不能识别CXTPReportControl类,所以必须手动修改。 a. 给窗体类添加一个CXTPReportControl类的变量 m_wndReportCtrl; 如在ReportControlTestDlg.h头文件中添加如下: //{{AFX_DATA(CReportControlTestDlg) enum { IDD = IDD_REPORTCONTROLTEST_DIALOG }; // NOTE: the ClassWizard will add data members here CXTPReportControl m_wndReportCtrl; //}}AFX_DATA b. 将控件IDC_REPORTCTRL与变量m_wndReportCtrl 绑定,有两种方法: (1)在ReportControlTestDlg.cpp文件的DoDataExchange()中修改如下: void CReportControlTestDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CReportControlTestDlg) // NOTE: the ClassWizard will add DDX and DDV calls here DDX_Control(pDX, IDC_REPORTCTRL, m_wndReportCtrl); //}}AFX_DATA_MAP } (2)采用SubclassDlgItem子类化一个控件,将派生类的控件对象与对话框中的基类控件相连接 m_wndReportCtrl.SubclassDlgItem(IDC_REPORTCTRL, this); //SubclassDlgItem子类化一个控件,将派生类的控件对象与对话框中的基类控件相连接 8. 开始使用m_wndReportCtrl。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |